1. Field of the Invention
The present invention relates to a read/write processing device and a read/write processing method for a disk recording medium. More particularly, the present invention relates to a read/write processing device for a disk medium that speeds up read/write processing by reordering commands and eliminating overlapping portions of write data.
2. Description of the Related Art
FIG. 2 is a block diagram of a conventional disk device 30. As shown in FIG. 2, the conventional disk device 30 includes an internal write buffer 31 wherein read/write data is temporarily stored. More particularly, write commands are speeded up by storing data from a host computer in the write buffer 31 in response to a write command, and by returning a data write complete response to the host without waiting for a disk medium 32 to complete the data write. Commands pertaining to the write data accumulated in the write buffer 31 are held in a write command queue 33, and write commands to write data to the disk medium 32 are executed by a command processor beginning with the oldest commands stored in the write command queue 33. A continuous access decision unit 35 holds the last address 36 of the write data from an immediately preceding command and determines whether or not the write data of a write command currently executed accesses an address that is continuous with the last address 36 of the write data from the immediately preceding write command.
In recent years, improvements in performance of control processors in disk devices have made it possible to reorder the write commands in the write command queue 33. More the head seek time plus the rotation wait time required to move to the start data from the final stored data position of the command currently under execution. The command corresponding to the transition that can be performed in the least amount of time is selected as the next write command. The reordering is performed by a reordering process 37.
Conventional write command reordering processes are not efficient processes for a variety of reasons, as discussed below.
If there are write commands in the write command queue that have not yet been written to the recording medium and a new read command is entered, then the new read command must wait until all write commands in the write command queue have been processed before it is executed.
If write commands that are input continuously (in terms of time) are write commands that write data to continuous addresses, then the processing of the continuous write commands cannot continue if all of the other write commands in the queue have not been completed.
If a new write command is entered corresponding to write data that overlaps with that of a write command already in the write command queue, then no consideration is given to the continuity between the overlapping command in the queue and the new command that has been entered.